package com.sright.bcard.content.dal.dao;

import com.sright.bcard.common.service.share.base.dao.BaseDAO;
import com.sright.bcard.content.dal.entity.CardDO;
import com.sright.bcard.content.dal.query.CardListParamQuery;
import com.sright.bcard.content.dal.result.CardListDTO;
import com.sright.bcard.content.dal.result.CardListResult;
import com.sright.bcard.content.dal.result.EnterpriseCardResult;

import java.util.List;

public interface CardDAO extends BaseDAO<CardDO> {

    Integer deleteById(Long id);

    List<CardListResult> cardList(CardListParamQuery cardListParamQuery);

    Integer count(CardListParamQuery cardListParamQuery);

    CardDO selectByUserId(Long personalUserId);

    List<CardListDTO> selectIdListByUserId(Long userId);

    List<CardListDTO> selectIdListByEnterpriseId(Long enterpriseId);

    Integer enterpriseCardCount(String title, Long enterpriseId);

    List<EnterpriseCardResult> queryEnterpriseCard(String title, Integer offset, Integer size, Long enterpriseId);

    List<CardDO> selectByCardBaseInfoIds(List<Long> cardBaseInfoIds);
}
